package algorithm.math;

/**
 * LeetCode : https://leetcode.com/problems/palindrome-number/
 * Difficulty : Easy
 * Topics : Math
 *
 * 题目：
 * 判断一个数字是否是回文数字，要求不允许把数字变为字符串。
 *
 * 思路：
 * 首先负数肯定不是，
 * 那其实就是用数学的办法，把数字倒过来呗。
 * 看倒过来的数字是否和原来的相同
 *
 *
 * Created by Antony on 2019-05-25 17:24
 */
public class PalindromeNumber {

    public static void main(String[] args) {
        System.out.println(isPalindrome(122));
    }

    /**
     * RunTime 6ms, better 100.0%
     * Memory 36MB, better 62.63%
     * @param x
     * @return
     */
    public static boolean isPalindrome(int x) {
        if(x < 0) return false;
        int reverseNum = 0;
        int tmp = x;
        while(tmp > 0){
            int mod = tmp%10;
            reverseNum = reverseNum*10 + mod;
            tmp = tmp/10;
        }
        return reverseNum==x;
    }
}
